Round circles J. Doe These memos have been saved with a 57-character margin for YSAMPLE1.FMT Round circles J. Doe These memos have been saved with a 37-character margin for YSAMPLE2.FMT
Essential to the flexibility of YAME is its capability to
dynamically configure itself without leaving dBASE. This
is achieved with tiered parameters. When invoked, YAME
attempts to process four stages of parameters:
(1) Default
(2) .COM invocation
(3) YAMEPARM
(4) .BIN invocation
When run as a .COM, YAME will go through stages 1, 2, and
3; for .BIN invocation, stages 1, 3, and 4. Some examples
will make things clearer:
Let's say that you want to run YAME as your external memo
editor, a .COM invocation. You want a margin of 50 for
most of your memo fields. The default word wrap margin is
65 characters. You add the following WP line to your
CONFIG.DB file:
WP = Y /m50
Every time you edit a memo, dBASE runs YAME. When YAME
starts, it sets its margin to the default, 65. It then
sees the parameter specified when it was run, a margin of
50. That is the margin that is used.
If you then want a margin of 70 for a particular memo,
you'll need to override the default margin of 65 and the
margin of 50 specified on the WP line of the CONFIG.DB
file. This is when YAMEPARM comes in. You CALL YAMEPARM
with parameters that you want:
call YAMEPARM with "/m70"
The next time YAME runs, it will set its default margin,
then the margin of 50, and then see the parameter in
YAMEPARM and use that. If you had another memo with a
margin of 40, you'd:
call YAMEPARM with "/m40"
and when you want to revert back to the WP parameters,
you'd:
call YAMEPARM
Parameters set up through YAMEPARM will stay in effect
until different parameters are sent, or until you
uninstall YAMEPARM by CALLing it with no parameters.
For a .BIN invocation, you'd use YAMEPARM to set your
personal defaults:
call YAMEPARM with "/m50"
From then on, every time you CALL Y, YAME will first set
the margin to its default, 65, then see the margin in
YAMEPARM and use that. If you then wanted a margin of 70,
you'd include the margin parameter in the CALL:
call Y with "/m70 MEMO_TMP.$DB"
If you ever want to go back to your personal default of
50, leave out the margin parameter in the CALL to YAME:
call Y with "MEMO_TMP.$DB"
And if you ever want to use YAME's default of 65, you can
call YAMEPARM
to clear your personal default as well.
YAMEPARM and YAMEBUFF communicate with Y.COM by using one
of the User Interrupt Vectors (Int 60h - 66h). Some of
these vectors are used by other programs and drivers, but
there are usually a few available.
YAMEPARM and YAMEBUFF each use their own vector, so if
both of them are LOADed and installed, they use two
vectors. If they are not uninstalled before they are
RELEASEd and/or you QUIT dBASE, those vectors will not be
cleared. Pretty soon, there will be no free vectors, and
YAMEPARM and YAMEBUFF will fail.
Therefore, it is absolutely critical that you uninstall
YAMEPARM and YAMEBUFF by CALLing them with no parameters
before RELEASing them and/or QUITting dBASE. Again, IT IS
ABSOLUTELY CRITICAL THAT YOU UNINSTALL YAMEPARM AND
YAMEBUFF BY CALLING THEM WITH NO PARAMETERS BEFORE
RELEASING THEM AND/OR QUITTING DBASE.
YAMEPARM will indicate successful installation by
changing the first letter of the parameter string to a
"T"; failure is indicated by an "F". For example, the
sequence
cParm = "/@11,0,19,39 /bd"
call YAMEPARM with cParm
will change the memory variable cParm to
"T@11,0,19,39 /bd"
if YAMEPARM is installed successfully and
"F@11,0,19,39 /bd"
if it is not. Once installed successfully, further CALLs
to YAMEPARM should return "T", until of course YAMEPARM
is RELEASEd or dBASE QUITs. Since the memory variable is
changed, the original character, usually a "/", must be
restored before using the parameter string again.
Note that every time you pass parameters to YAMEPARM,
they stay memory resident. You do not have to CALL
YAMEPARM before every single memo. You only need to use
YAMEPARM when the parameters change.
YAMEBUFF operates in a similar manner. You CALL YAMEBUFF
with the maximum file size you want to allow. This limit
is enforced by the YAME program, and does not affect the
amount of memory occupied by YAMEBUFF.BIN. YAMEBUFF.BIN
is almost 64 KB in size; most of it, 63.5 KB or 65024
bytes, is buffer space; the remainder is the YAMEBUFF
installation code. Even if you
call YAMEBUFF with 4000
to keep the memo fields below 4 KB, YAMEBUFF will still
occupy 64 KB of memory. In these situations, you can use
the smaller buffer file, YAMEBUF8.BIN, which has 8 KB
(8192 bytes) of buffer space. YAMEBUF8 works exactly like
YAMEBUFF, except that the maximum maximum is only 8 KB,
not 63.5 KB. Do not have YAMEBUFF and YAMEBUF8 LOADed
simulataneously.
YAMEBUFF (and YAMEBUF8) will return the amount of space
that was registered as the maximum allowable file size.
In most cases, this means that your parameter will be
returned unchanged. The exceptions are:
(1) You asked for more space than there was in the
.BIN, i.e. more than 65024 for YAMEBUFF and 8192 for
YAMEBUF8. In those cases, those limits will be registered
and returned.
(2) You asked for more than 65535 bytes. Don't do
that.
(3) YAMEBUFF was unable to install itself. In this
case, YAMEBUFF will return 0. You should verify that the
return value is greater than zero to make sure that
YAMEBUFF was installed before your try to edit something.
If either YAMEPARM or YAMEBUFF return failure codes ("F"
and 0, respectively), this means that there were no
available vectors to hook into. This is because either
you've already got a ton of gizmos loaded in your system,
or, more likely, you forgot to uninstall YAMEPARM or
YAMEBUFF before RELEASing them and/or QUITting dBASE.
Remember that it is absolutely critical that you
uninstall YAMEPARM and YAMEBUFF by CALLing them with no
parameters before RELEASing them and/or QUITting dBASE.
Essential to the flexibility of YAME
is its capability to dynamically
configure itself without leaving
dBASE. This is achieved with tiered
parameters. When invoked, YAME
attempts to process four stages of
parameters:
(1) Default
(2) .COM invocation
(3) YAMEPARM
(4) .BIN invocation
When run as a .COM, YAME will go
through stages 1, 2, and 3; for .BIN
invocation, stages 1, 3, and 4. Some
examples will make things clearer:
Let's say that you want to run YAME
as your external memo editor, a .COM
invocation. You want a margin of 50
for most of your memo fields. The
default word wrap margin is 65
characters. You add the following WP
line to your CONFIG.DB file:
WP = Y /m50
Every time you edit a memo, dBASE
runs YAME. When YAME starts, it sets
its margin to the default, 65. It
then sees the parameter specified
when it was run, a margin of 50. That
is the margin that is used.
If you then want a margin of 70 for a
particular memo, you'll need to
override the default margin of 65 and
the margin of 50 specified on the WP
line of the CONFIG.DB file. This is
when YAMEPARM comes in. You CALL
YAMEPARM with parameters that you
want:
call YAMEPARM with "/m70"
The next time YAME runs, it will set
its default margin, then the margin
of 50, and then see the parameter in
YAMEPARM and use that. If you had
another memo with a margin of 40,
you'd:
call YAMEPARM with "/m40"
and when you want to revert back to
the WP parameters, you'd:
call YAMEPARM
Parameters set up through YAMEPARM
will stay in effect until different
parameters are sent, or until you
uninstall YAMEPARM by CALLing it with
no parameters.
For a .BIN invocation, you'd use
YAMEPARM to set your personal
defaults:
call YAMEPARM with "/m50"
From then on, every time you CALL Y,
YAME will first set the margin to its
default, 65, then see the margin in
YAMEPARM and use that. If you then
wanted a margin of 70, you'd include
the margin parameter in the CALL:
call Y with "/m70 MEMO_TMP.$DB"
If you ever want to go back to your
personal default of 50, leave out the
margin parameter in the CALL to YAME:
call Y with "MEMO_TMP.$DB"
And if you ever want to use YAME's
default of 65, you can
call YAMEPARM
to clear your personal default as
well.
YAMEPARM and YAMEBUFF communicate
with Y.COM by using one of the User
Interrupt Vectors (Int 60h - 66h).
Some of these vectors are used by
other programs and drivers, but there
are usually a few available.
YAMEPARM and YAMEBUFF each use their
own vector, so if both of them are
LOADed and installed, they use two
vectors. If they are not uninstalled
before they are RELEASEd and/or you
QUIT dBASE, those vectors will not be
cleared. Pretty soon, there will be
no free vectors, and YAMEPARM and
YAMEBUFF will fail.
Therefore, it is absolutely critical
that you uninstall YAMEPARM and
YAMEBUFF by CALLing them with no
parameters before RELEASing them
and/or QUITting dBASE. Again, IT IS
ABSOLUTELY CRITICAL THAT YOU
UNINSTALL YAMEPARM AND YAMEBUFF BY
CALLING THEM WITH NO PARAMETERS
BEFORE RELEASING THEM AND/OR QUITTING
DBASE.
YAMEPARM will indicate successful
installation by changing the first
letter of the parameter string to a
"T"; failure is indicated by an "F".
For example, the sequence
cParm = "/@11,0,19,39 /bd"
call YAMEPARM with cParm
will change the memory variable cParm
"T@11,0,19,39 /bd"
if YAMEPARM is installed successfully
"F@11,0,19,39 /bd"
if it is not. Once installed
successfully, further CALLs to
YAMEPARM should return "T", until of
course YAMEPARM is RELEASEd or dBASE
QUITs. Since the memory variable is
changed, the original character,
usually a "/", must be restored
before using the parameter string
again.
Note that every time you pass
parameters to YAMEPARM, they stay
memory resident. You do not have to
CALL YAMEPARM before every single
memo. You only need to use YAMEPARM
when the parameters change.
YAMEBUFF operates in a similar
manner. You CALL YAMEBUFF with the
maximum file size you want to allow.
This limit is enforced by the YAME
program, and does not affect the
amount of memory occupied by
YAMEBUFF.BIN. YAMEBUFF.BIN is almost
64 KB in size; most of it, 63.5 KB or
65024 bytes, is buffer space; the
remainder is the YAMEBUFF
installation code. Even if you
call YAMEBUFF with 4000
to keep the memo fields below 4 KB,
YAMEBUFF will still occupy 64 KB of
memory. In these situations, you can
use the smaller buffer file,
YAMEBUF8.BIN, which has 8 KB (8192
bytes) of buffer space. YAMEBUF8
works exactly like YAMEBUFF, except
that the maximum maximum is only 8
KB, not 63.5 KB. Do not have YAMEBUFF
and YAMEBUF8 LOADed simulataneously.
YAMEBUFF (and YAMEBUF8) will return
the amount of space that was
registered as the maximum allowable
file size. In most cases, this means
that your parameter will be returned
unchanged. The exceptions are:
(1) You asked for more space than
there was in the .BIN, i.e. more than
65024 for YAMEBUFF and 8192 for
YAMEBUF8. In those cases, those
limits will be registered and
returned.
(2) You asked for more than 65535
bytes. Don't do that.
(3) YAMEBUFF was unable to
install itself. In this case,
YAMEBUFF will return 0. You should
verify that the return value is
greater than zero to make sure that
YAMEBUFF was installed before your
try to edit something.
If either YAMEPARM or YAMEBUFF return
failure codes ("F" and 0,
respectively), this means that there
were no available vectors to hook
into. This is because either you've
already got a ton of gizmos loaded in
your system, or, more likely, you
forgot to uninstall YAMEPARM or
YAMEBUFF before RELEASing them and/or
QUITting dBASE. Remember that it is
absolutely critical that you
uninstall YAMEPARM and YAMEBUFF by
CALLing them with no parameters
before RELEASing them and/or QUITting
dBASE.
Essential to the flexibility of YAME is its capability to dynamically configure itself without leaving dBASE. This is achieved with tiered parameters. When invoked, YAME attempts to process four stages of parameters:
(1) Default
(2) .COM invocation
(3) YAMEPARM
(4) .BIN invocation
When run as a .COM, YAME will go through stages 1, 2, and 3; for .BIN invocation, stages 1, 3, and 4. Some examples will make things clearer:
Let's say that you want to run YAME as your external memo editor, a .COM invocation. You want a margin of 50 for most of your memo fields. The default word wrap margin is 65 characters. You add the following WP line to your CONFIG.DB file:
WP = Y /m50
Every time you edit a memo, dBASE runs YAME. When YAME starts, it sets its margin to the default, 65. It then sees the parameter specified when it was run, a margin of 50. That is the margin that is used.
If you then want a margin of 70 for a particular memo, you'll need to override the default margin of 65 and the margin of 50 specified on the WP line of the CONFIG.DB file. This is when YAMEPARM comes in. You CALL YAMEPARM with parameters that you want:
call YAMEPARM with "/m70"
The next time YAME runs, it will set its default margin, then the margin of 50, and then see the parameter in YAMEPARM and use that. If you had another memo with a margin of 40, you'd:
call YAMEPARM with "/m40"
and when you want to revert back to the WP parameters, you'd:
call YAMEPARM
Parameters set up through YAMEPARM will stay in effect until different parameters are sent, or until you uninstall YAMEPARM by CALLing it with no parameters.
For a .BIN invocation, you'd use YAMEPARM to set your personal defaults:
call YAMEPARM with "/m50"
From then on, every time you CALL Y, YAME will first set the margin to its default, 65, then see the margin in YAMEPARM and use that. If you then wanted a margin of 70, you'd include the margin parameter in the CALL:
call Y with "/m70 MEMO_TMP.$DB"
If you ever want to go back to your personal default of 50, leave out the margin parameter in the CALL to YAME:
call Y with "MEMO_TMP.$DB"
And if you ever want to use YAME's default of 65, you can
call YAMEPARM
to clear your personal default as well.
YAMEPARM and YAMEBUFF communicate with Y.COM by using one of the User Interrupt Vectors (Int 60h - 66h). Some of these vectors are used by other programs and drivers, but there are usually a few available.
YAMEPARM and YAMEBUFF each use their own vector, so if both of them are LOADed and installed, they use two vectors. If they are not uninstalled before they are RELEASEd and/or you QUIT dBASE, those vectors will not be cleared. Pretty soon, there will be no free vectors, and YAMEPARM and YAMEBUFF will fail.
Therefore, it is absolutely critical that you uninstall YAMEPARM and YAMEBUFF by CALLing them with no parameters before RELEASing them and/or QUITting dBASE. Again, IT IS ABSOLUTELY CRITICAL THAT YOU UNINSTALL YAMEPARM AND YAMEBUFF BY CALLING THEM WITH NO PARAMETERS BEFORE RELEASING THEM AND/OR QUITTING DBASE.
YAMEPARM will indicate successful installation by changing the first letter of the parameter string to a "T"; failure is indicated by an "F". For example, the sequence
cParm = "/@11,0,19,39 /bd"
call YAMEPARM with cParm
will change the memory variable cParm to
"T@11,0,19,39 /bd"
if YAMEPARM is installed successfully and
"F@11,0,19,39 /bd"
if it is not. Once installed successfully, further CALLs to YAMEPARM should return "T", until of course YAMEPARM is RELEASEd or dBASE QUITs. Since the memory variable is changed, the original character, usually a "/", must be restored before using the parameter string again.
Note that every time you pass parameters to YAMEPARM, they stay memory resident. You do not have to CALL YAMEPARM before every single memo. You only need to use YAMEPARM when the parameters change.
YAMEBUFF operates in a similar manner. You CALL YAMEBUFF with the maximum file size you want to allow. This limit is enforced by the YAME program, and does not affect the amount of memory occupied by YAMEBUFF.BIN. YAMEBUFF.BIN is almost 64 KB in size; most of it, 63.5 KB or 65024 bytes, is buffer space; the remainder is the YAMEBUFF installation code. Even if you
call YAMEBUFF with 4000
to keep the memo fields below 4 KB, YAMEBUFF will still occupy 64 KB of memory. In these situations, you can use the smaller buffer file, YAMEBUF8.BIN, which has 8 KB (8192 bytes) of buffer space. YAMEBUF8 works exactly like YAMEBUFF, except that the maximum maximum is only 8 KB, not 63.5 KB. Do not have YAMEBUFF and YAMEBUF8 LOADed simulataneously.
YAMEBUFF (and YAMEBUF8) will return the amount of space that was registered as the maximum allowable file size. In most cases, this means that your parameter will be returned unchanged. The exceptions are:
(1) You asked for more space than there was in the .BIN, i.e. more than 65024 for YAMEBUFF and 8192 for YAMEBUF8. In those cases, those limits will be registered and returned.
(2) You asked for more than 65535 bytes. Don't do that.
(3) YAMEBUFF was unable to install itself. In this case, YAMEBUFF will return 0. You should verify that the return value is greater than zero to make sure that YAMEBUFF was installed before your try to edit something.
If either YAMEPARM or YAMEBUFF return failure codes ("F" and 0, respectively), this means that there were no available vectors to hook into. This is because either you've already got a ton of gizmos loaded in your system, or, more likely, you forgot to uninstall YAMEPARM or YAMEBUFF before RELEASing them and/or QUITting dBASE. Remember that it is absolutely critical that you uninstall YAMEPARM and YAMEBUFF by CALLing them with no parameters before RELEASing them and/or QUITting dBASE.